package cn.pkubangbang.demo.democontact.service;

import cn.pkubangbang.demo.democontact.entity.Blog;
import cn.pkubangbang.demo.democontact.entity.Page;
import cn.pkubangbang.demo.democontact.entity.PageInfo;
import cn.pkubangbang.demo.democontact.entity.Person;
import java.util.List;

/**
 * @Author: zhangzhenbang@k2data.com.cn
 * @Date: 2018-09-06 14:25
 */
public interface BlogService {

    /**
     * 展示个人空间
     * @param p person
     * @return person的个人blog
     */
    List<Blog> listBlogsOfPerson(Person p);

    /**
     * 按页展示个人空间
     * @param p person
     * @param pageInfo 分页信息
     * @return blog的一页
     */
    Page<Blog> pageBlogsOfPerson(Person p, PageInfo pageInfo);

    /**
     * 他的朋友圈
     * @param p person
     * @return person和他朋友的所有的blog
     */
    List<Blog> listAllBlogsForPersonAndHisFriends(Person p);

    /**
     * 按页展示朋友圈
     * @param p person
     * @param pageInfo 分页信息
     * @return blog的一页
     */
    Page<Blog> pageAllBlogsForPersonAndHisFriends(Person p, PageInfo pageInfo);

    /**
     * 添加blog
     * @param blog blog
     */
    void postBlog(Blog blog);

}
